﻿'Params
'track (Required (unless mbid)] : The track name
'artist (Required (unless mbid)] : The artist name
'mbid (Optional) : The musicbrainz id for the track
'autocorrect[0|1] (Optional) : Transform misspelled artist and track names into correct artist and track names, returning the correct version instead. The corrected artist and track name will be returned in the response.
'api_key (Required) : A Last.fm API key.
'Auth
'This service does not require authentication. 

Public Structure TrackGetTopFansResponse

End Structure

Public Class TrackGetTopFans
	Inherits BaseRequest
    Dim artist As String = ""
    Dim album As String = ""
    Dim mbid As String = ""
    Dim lang As String = ""
    Dim autocorrect As String = ""
    Dim page As String = ""
    Dim limit As String = ""

	Public xmlresponse As XDocument = Nothing

	Public Sub New()
        Me.artist = artist
        Me.album = album
        Me.mbid = mbid
        Me.lang = lang
        Me.autocorrect = autocorrect
        Me.page = page
        Me.limit = limit
	End Sub

	Public Sub sendRequest()
        InitializeMembers("album.getInfo")

        AddMember("artist", artist, String.IsNullOrEmpty(mbid))
        AddMember("album", album, String.IsNullOrEmpty(mbid))
        AddMember("mbid", mbid, False)
        AddMember("lang", lang, False)
        AddMember("autocorrect", autocorrect, False)
		AddMember("username", My.Settings.user_name, False)
        AddMember("api_key", My.Settings.api_key, False)
        xmlresponse = sendPOSTResponse()
	End Sub

    Public Function getResponse() As TrackGetTopFansResponse
        Dim response As New TrackGetTopFansResponse
        'response.album = New Album(xmlresponse.<lfm>.<album>.First)
        Return response
    End Function
End Class
